from appium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import os
import time
from time import sleep


class Base():
    def __init__(self):
        os.system('adb root')
        cap = {
            "platformName": "Android",
            "deviceName": "emulator-5554",
            "noReset": True,
            "appPackage": "com.kongfz.app",
            "appActivity": "com.kongfz.app.home.mvvm.homepage.HomeActivity"
        }
        self.driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', cap)
        # 隐式等待
        self.driver.implicitly_wait(25)
        # 强制等待
        sleep(15)

    #     定位元素
    def find_ele(self, loc):
        if type(loc) == str:
            return self.driver.find_element_by_android_uiautomator(loc)
        else:
            return self.driver.find_element(*loc)

    #     显示等待
    def find_wait_ele(self, loc):
        return WebDriverWait(self.driver, 500).until(EC.presence_of_element_located(loc))

    def find_key_values(self, loc, key):
        ele = self.find_ele(loc)
        return ele.get_attribute(key)

    # jieping
    def jieping(self, filename):
        t = time.strftime('%Y%m%d%H%M%S', time.localtime())
        self.driver.save_screenshot(t + filename)
#     退出
    def tuichu(self):
        self.driver.quit()
